As a result of increases in the processing, display and communicational abilities of mobile computing devices, users of such mobile computing devices increasingly use them to perform a greater quantity of tasks. For example, in addition to traditional voice communication functions and network browsing functions, mobile computing devices are increasingly utilized to perform more complex network-based tasks, such as, for example, making restaurant reservations, buying movie tickets, making travel arrangements and other like tasks. However, while the processing, communicational and display abilities of mobile computing devices make such tasks possible, they still remain impractical simply due to the amount of information that is often required to be entered, by the user, through the data entry mechanisms of the mobile device. In addition, many of the interfaces for such tasks do not take into consideration the limited display space on mobile devices, resulting in an interface that is impractical to navigate on mobile devices.
Traditional mobile computing devices typically do not comprise full-size data entry peripherals, such as, for example a full-size keyboard. Instead, mobile computing devices typically comprise either miniaturized keyboards, which are only a small fraction of the size of a full-size keyboard, or virtual keyboards, that are merely images displayed upon a screen. Such keyboards are limited in size due to the physical constraints of the mobile computing device, which is typically designed to fit comfortably in a user's hand and be able to be carried in a pocket, belt holster, purse or the like. Such physical limitations, however, result in keyboards that are simply too small to enable a user to type, or otherwise enter information, as efficiently as they could utilizing, for example, a full-size keyboard. In theory, physical limitations of mobile computing device's input peripherals can be overcome through voice input, where a user simply speaks commands or input data. However, voice input is impractical for entering information into complex templates, and further suffers from inaccuracy drawbacks, thereby again relegating a user to input peripherals such as the miniaturized or virtual keyboards. Consequently, when attempting to do tasks that require the user to enter a lot of information, such as via a keyboard of the mobile computing device, users can often become frustrated and can seek to delay such activity until they have access to a physically larger computing device, or, at least, a physically larger data entry peripheral that they can communicationally couple with the mobile computing device.